var matriculas = {
		init:function(){
			$('#programacionsmatriculas').jqGrid({
	           url:'programacions/index',
	           datatype:'json',
	           mtype:'POST',
	           colNames:['id','Curso','Docente','Año','Seccion','Fecha Inicio','Fecha fin','Creado','Estado'],
	           colModel:[
	                {name:"data[Programacion][id]",hidden:true},
	               		          
	            {name:"data[Programacion][curso_id]",index:'Curso.descripcion',width:150,align:'left',
            	sortable:true,editable:false,  
            	edittype:"select",searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},	
            	
            	{name:"data[Programacion][docente_id]",index:'Persona.nombre_completo',width:220,align:'left',            		
            	sortable:true,editable:false,	  
            	edittype:"select",searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},	
            	
            	{name:"data[Programacion][periodo_id]",index:'Periodo.anio',width:80,align:'left',
            	sortable:true,editable:false,  
            	edittype:"select",searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
            	
            	 {name:"data[Programacion][seccion]",index:'Programacion.seccion',width:50,sortable:false,
            	editable:false,
            		searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
            	
            	{name:"data[Programacion][fecha_inicio]",index:'Programacion.fecha_inicio',width:80,
	            editable:false,sorttype:"date"},
	            	   
        	   {name:"data[Programacion][fecha_fin]",index:'Programacion.fecha_fin',width:80,        	   
            	   editable:false,sorttype:"date"},
	         	   
            	   {name:"data[Programacion][created]",index:'Programacion.created',width:120,sortable:true,
            		   editable:false,
	            	   formoptions:{ rowpos:7, elmprefix:"(*)"},	  
            		   searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
            	   
            	   {name:"data[Programacion][estado]",index:'Estado.descripcion',width:50,sortable:false,
            			   editable:false,
            		   searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}}	   
            	   
	           ],
		
			   pager:$('#programacionsmatriculas-pager'),
	           rowNum:21,
	           rowList:[10,20,30],
	           mtype: "POST",
	           viewrecords:true,
	           caption:'Carga Academica',
		        rownumbers: true, 
	           height:'200',
	           sortname: "Programacion.fecha_inicio",
	           sortorder: "desc", 
	           editurl: 'programacions/index', 
	           onSelectRow: function(id){
		   		if(!id){
					id=0; var nro_nt = 'Seleccione una Carga Academica';
				}else{
					var ret = jQuery("#programacionsmatriculas").jqGrid('getRowData',id); 
					//alert(ret);
					//var numero = ret.numero;	
					var numero = 'MATRICULADOS';
				}
				
				jQuery("#matriculas")
					.jqGrid('setGridParam',{url:"matriculas/index?q=Programacion&modelopadre_id="+id,page:1}); 
				jQuery("#matriculas")
					.jqGrid('setCaption',"Detalles de matricula: "+numero)
					.trigger('reloadGrid'); 
				
				},
				editurl:"ordencompras/add", 
		        toolbar: [true,"top"]
	           
	       });
			

			   $("#programacionsmatriculas").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});
		       jQuery("#programacionsmatriculas").jqGrid('setGridWidth',$('#RightPane').width()-50);
			   
	 $("#t_programacionsmatriculas").append("<input type='button' id='matriculaagregar' value='Matricular' style='height:20px;font-size:-3'/>&nbsp"); 
	 $("input","#t_programacionsmatriculas").click(function(){ 
		 
		 var programacion_id = jQuery("#programacionsmatriculas").jqGrid('getGridParam','selrow');
			if(programacion_id > 0){
				matriculaIniciarDialogo(programacion_id);
			}else{
				$.post("menus/mensaje",
					{mensaje:"Por favor seleccione una Carga Academica",
						titulo:"Matricula"
					},function(data){
						$("body").append(data);
						$("#mensajeDialogo").dialog(
							{bgiframe:true,resizable:false,height:170,modal:true,autoOpen:true,
							 overlay:{backgroundColor:'#000',opacity:0.5},
							 buttons:{ Ok:function(){ $(this).remove(); }},
							 close:function(){ $(this).remove(); }
							}
						);
					}
				);
			}
	 
	 
	 });
	 /** llama al archivo que contiene el dialog **/
		function matriculaIniciarDialogo(id){
			$.post("matriculas/add/"+id,{}, 
				function(data){
			  		$("#containermatriculas").append(data);
			  		matriculaDialog("Matricular");	
				}
			);	
		}
		/** Carga el formulario de dialogo de los Ordencompra **/
		function matriculaDialog(titulo){
			$("#matriculaDialog").attr({ title: titulo });
		
			$("#matriculaDialog").dialog({
				bgiframe: true,
				autoOpen: true,
				height: 400,
				width: 600,
				modal: true,
				buttons: {
					Guardar: function(){
						if($("#MatriculaActualizarForm").valid())
						{
							//se guarda o se actualiza la matricula
							matriculaActualizar("update");							
							$('#matriculaDialog').dialog('close');
						}	
					},
					Borrar: function(){								 	
						// DIALOGO DE CONFIRMACION 
						$.post("menus/mensaje",{
							mensaje: "Esta apunto de borrar este registro permanentemente. Desea Continuar?",
							titulo: "Borrar Orden de Compra"
						},
						function(data){
							// Se agrega el mensaje
					  		$("body").append(data);
					  		
					  		// Se activa  el dialogo
					  		$("#mensajeDialogo").dialog({
								bgiframe: true,
								resizable: false,
								height:170,
								modal: true,
								overlay: {
									backgroundColor: '#000',
									opacity: 0.5
								},
								buttons: {
									Continuar: function() {
									matriculaActualizar("delete");
										$(this).remove();								
									},
									Cancelar: function() {
										$(this).remove();								
									}
								},
								close: function() {							
									$(this).remove();
								}
							});							
							// $(this).dialog('close');
						});					
					},
					Volver: function() { 
						$(this).remove();
					}
				},
				close: function(){
					$(this).remove();
				}
			});
			
			//valido el formulario orden compra
			var validator = $("#MatriculaActualizarForm").validate();
			//visualizarBotones();
			
			$("#matriculaDialog").removeClass('hide');
		}
		/** Verificamos que botones mostrar **/
		function visualizarBotones(){
			//var ordencompraestado_id = isNaN(parseFloat($('#OrdencompraOrdencompraestadoId').val()))?0:parseFloat($('#OrdencompraOrdencompraestadoId').val());
			//var buttons = $("#matriculaDialog").parent().find("div.ui-dialog-buttonset").find('button');
			switch(ordencompraestado_id){
				case 1:
				case 2:
				case 3: break;
				case 4:
				case 5:
				case 6:
					$(buttons[0]).remove();
					$(buttons[1]).remove();
					break;
			}
		}
		
	 $("#matriculas").jqGrid({
	   		height: 150, 
			url:'matriculas/index?q=Programacion&modelopadre_id=0',
			datatype: "json", 
			colNames:['id','Codigo','Alumno', 'Fecha', 'Monto','Creado','Estado'],
			colModel:[ 
				{name:'data[Matricula][id]',index:'Matricula.id', hidden:true}, 
				{name:'data[Persona][codigo]',index:'Persona.codigo', width:40},
				{name:'data[Matricula][alumno_id]',index:'Matricula.alumno_id', width:160},
				{name:'data[Matricula][fecha]',index:'Matricula.fecha', width:40},
				{name:'data[Matricula][monto]',index:'Matricula.monto', width:40, align:"right"},
				{name:'data[Matricula][created]',index:'Matricula.created', width:60, align:"right"},
				{name:"data[Matricula][estado]",index:'Estado.descripcion',width:50,sortable:false,
     			   editable:false}	  				
			], 
			rowNum:5, 
			rowList:[5,10,20], 
			pager: '#matriculas-paper', 
			sortname: 'Matricula.alumno_id', 
			viewrecords: true, 
			sortorder: "asc", 
			multiselect: false, 
			caption:"Matriculados" 
		}).navGrid('#matriculas-paper',{add:false,edit:false,del:false});
		
		jQuery("#matriculas").jqGrid('setGridWidth',$('#RightPane').width()-50);
	

	/** Creamos o Actualizamos la matricula **/
	function matriculaActualizar(oper){
		console.debug(oper);
		// enviamos la data para ser guardada
		$.ajax({
			type:'POST',
			url: "matriculas/actualizar/oper:"+oper,
			data: $('#MatriculaActualizarForm').serialize(),
			success: function(response){
				if(!response.respuesta){
					$.post("menus/mensaje",{
						mensaje:"Ha ocurrido un error y no se ha podido actualizar el registro. Intente Nuevamente!", //+response.mensaje,
						titulo:"Fallo al Actualizar"},function(data){
							$("body").append(data);
							$('#mensajeDialogo').dialog({
								autoOpen:true,
								width:200,
								resizable: false,
								modal:true,
								height:170,
								overlay:{
									backgroundColor:'#000',
									opacity:0.5
								},
								buttons:{
									Ok: function(){
										$(this).remove();
									}
								},
								close: function(){
									$(this).remove();
								}
							});
						}
					);
				}else{
					$.post("menus/mensaje",{
						mensaje:(oper === 'delete')?'EL REGISTRO FUE ELIMINADO':response.mensaje,
						titulo:"Documento Actualizado"},function(data){
							$("body").append(data);
							$('#mensajeDialogo').dialog({
								autoOpen:true,
								width:200,
								resizable: false,
								modal:true,
								height:170,
								overlay:{
									backgroundColor:'#000',
									opacity:0.5
								},
								buttons:{
									Ok: function(){
										if(isNaN(parseFloat($('#MatriculaId').val()))){
											$("#MatriculaId").attr('value',response.programacion_id);
											$("#ProgrmacionCodigo").attr('value',response.codigo);
										}
										jQuery("#programacionsmatriculas").trigger('reloadGrid');
										jQuery("#matriculas").trigger('reloadGrid');
										
										if(oper == 'delete'){
											jQuery("#matriculas")
												.jqGrid('setGridParam',{url:"matriculas/index?q=Ordencompra&modelopadre_id=0",page:1});
											jQuery("#matriculas")
												.jqGrid('setCaption',"Invoice Detail: Seleccione una orden de compra")
												.trigger('reloadGrid');
											$('#matriculaDialog').dialog('close');
										}else{
											jQuery("#matriculas").trigger('reloadGrid');
										}
										$(this).remove();
									}
								}
							});
						}
					);
				}
			},
			dataType: 'json'
		});
		return false;
	}
}
};
